using Gateway.Infrastructure.AutoDI;
using Gateway.IQuery.DataDic.Request;
using Gateway.IQuery.DataDic.Result;

namespace Gateway.IQuery.DataDic;
public interface IDataDicQuery : IDependency
{
    /// <summary>
    /// 获取所有数据
    /// </summary>
    /// <returns></returns>
    Task<List<DataDicDetailResult>> GetAll();

    /// <summary>
    /// 获取列表-根据code  相邻子级
    /// </summary>
    /// <param name="code"></param>
    /// <returns></returns>
    Task<List<DataDicDetailResult>> GetListByCode(string code);
    /// <summary>
    /// 获取 分页列表
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    Task<PageResult<DataDicDetailResult>> GetList(DataDicPageRequest request);

    /// <summary>
    /// 获取所有的 类别的 数据字典
    /// </summary>
    /// <returns></returns>
    Task<List<DataDicCategoryTreeResult>> GetCategoryList();
}